草庐IT

MySQL GROUP BY 和 COUNT 多列

全部标签

mysql - 将列添加到现有的多列索引

在我的表中,我有一个列(名称,文件夹)的多列索引我最近添加了一个名为date的新列,我想在其中放入一个索引,但我想将它放入现有的多列索引中当我做Altertablebooksaddindextheindex(date);我得到Duplicatekeyname'theindex'如何在不创建新键的情况下向索引添加另一列? 最佳答案 只需将语法更改为以下方式即可将新列添加到索引中:ALTERtable`books`DROPINDEXtheindex;ALTERtable`books`ADDINDEXtheindex(`date`,`ti

mysql - SELECT COUNT 查询在 MySQL 中抛出错误

我在本地主机上有一个名为webshop的数据库,其中有几个表。当我运行查询时:SELECTCOUNT(userId)FROMusers;它给我带来了以下错误:FUNCTIONwebshop.COUNT不存在。检查引用手册中的“函数名称解析和解析”部分我不知道为什么,因为查询对我来说似乎很好,有人吗? 最佳答案 去掉左括号前的空格SELECTCOUNT(userId)FROMusers;参见FunctionNameParsingandResolution(顺便说一句,这正是错误告诉您要做的!)

sql - MySQL COUNT() 多列

我正在尝试从我的数据库中的所有视频中获取最流行的标签(忽略空白标签)。我还需要每个标签的“flv”。如果每个视频都有一个标签,我可以按照自己的意愿工作:SELECTtag_1,flv,COUNT(tag_1)AStagcountFROMvideosWHERENOTtag_1=''GROUPBYtag_1ORDERBYtagcountDESCLIMIT0,10但是在我的数据库中,每个视频允许三个标签-tag_1、tag_2和tag_3。有没有办法从多个列中读取最流行的标签?记录结构为:+-----------------+--------------+------+-----+-----

mysql - ZF 中的多列排序?

我得到了这个代码$select->from(array("e"=>"embarcacoes"))->join(array("i"=>"imagens"),'e.id=i.barcoId')->where("e.tipo='{$this->view->tipoEmbarcacao}'")->group("i.barcoId")->limitPage($paginaAtual,$porPagina)->order('e.prioridadeDESC');效果很好,如果我将->order('prioridadeDESC');行更改为->order('idDESC');它仍然有效好吧,但如果我

php - MYSQL 连接同一张表中的多列

我正在尝试使用Join从表2中获取skill1、skill2和skill3的技能名称。当我试图单独获得skill1时,它工作正常。但是,当我尝试获取下一列的详细信息时,出现了1066Notuniquetable/alias错误。表1(用户表)======================================IDNameskillskill2skill3======================================1Ed143--------------------------------------表2(技能详情)========================

MySQL - SUM 和 COUNT 有什么区别?

在MySQL中-使用SUM或COUNT有什么区别?SELECTSUM(USER_NAME='JoeBlow')SELECTCOUNT(USER_NAME='JoeBlow') 最佳答案 要更直接、更直接地回答OP问题,请考虑您是否对列中的整数而不是字符串进行总计。+----+------+|id|vote|+----+------+|1|1||2|-1||3|1||4|-1||5|1|+----+------+COUNT=5票SUM=1票(-2+3=1)Sum进行数学求和,而count只是将任何值计为1,而不管数据类型如何。

MySql COUNT(*) 在存储过程中不同

我正在开发一个“评分”系统,并试图通过使用一个存储过程来确保一个人不能提交两次成绩,该存储过程将检查一个人是否已经对特定项目进行了评分,然后才允许新的要保存的等级。奇怪的是,我正在传递用户ID和对象ID,但是当我的存储过程选择COUNT(*)时,我得到了错误的数字。这是我的存储过程:CREATEPROCEDURE`ADD_GRADE`(INobjectIDint,INgraderint)BEGINDECLAREgradeCountINT;SELECTCOUNT(*)FROMGRADESWHEREObj_ID=objectIDANDGrader=graderINTOgradeCount;

MySQL group by 具有多列总和和每组的总和

我有一个这样的表:Votes(id,person,positive_vote,negative_vote)我想按人分组,然后按每个人的总票数排序。我知道如何获得一个组的单个列的总和,但我不知道如何获得每个组的所有总和(总票数)。这是我目前所拥有的:SELECTperson,sum(positive_vote),sum(negative_vote)FROMVotesGROUPBYperson; 最佳答案 尝试,SELECTperson,sum(positive_vote)totalPositive,sum(negative_vote)

PHP MySQL 按多列排序

我希望根据表格中的多个列创建一个订单-所有列都与日期相关。例如:我的列是:fee_due、fee_2_due、fee_3_due-它们都包含不同日期的结果。但是,我想创建一个组合所有列的订单,所以fee_due可能是2012-11-03,fee_2_due可能是2012-11-01和fee_3_due可能是2012-11-02。我的查询需要是:SELECT*FROMtable_nameORDERBY[date]DESC...由此3列中的日期连接起来形成一个顺序,而不管它们在哪一列中。希望这是有道理的,并提前致谢。 最佳答案 此外你还

MySQL COUNT(CASE WHEN ... THEN DISTINCT 列)

我的查询:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THEN1END)ASmtd我想要这样的东西:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THENDISTINCTColumnIDEND)ASmtd这给出了一个错误。我不能使用GROUPBY。如果我在CASE之前添加DISTINCT它不起作用,或者它将FieldValue列视为DISTINCT